File manager - Edit - /home/autoph/public_html/projects/app/Http/Controllers/API/v1/ImportController.php
Back
<?php namespace App\Http\Controllers\API\v1; use App\Http\Controllers\Controller; use App\Jobs\ImportTimelogsJob; use App\Models\Import; use App\Models\Timelog; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Storage; use Throwable; class ImportController extends Controller { public function import_timelogs(Request $request) { $timelogs = $request->input('data'); $formData = $request->input('formData'); $attachmentName = ""; try { if (isset($formData['attachment']['preview'])) { $fileData = $formData['attachment']['preview']; if (preg_match('/^data:\w+\/\w+;base64,/', $fileData)) { $fileData = base64_decode(substr($fileData, strpos($fileData, ',') + 1)); } else { $fileData = $fileData; } // Generate a unique name and store the file $attachmentName = time() . '_imported_file.dat'; $path = "import-timelogs/" . $attachmentName; // Save file content Storage::disk('local')->put($path, $fileData); } // Save main record in the database $status = Import::create([ 'name' => $formData['name'], 'attachment' => $attachmentName, 'uploaded_by' => $formData['uploaded_by'], ]); DB::commit(); ImportTimelogsJob::dispatch($timelogs); // Dispatch job with timelogs return response()->json([ 'message' => 'Records are being processed.', 'status' => 'success', ], 201); } catch (Throwable $e) { DB::rollBack(); return response()->json([ 'status' => false, 'message' => 'Unable to process request. Please try again.', 'data' => $e->getMessage() ], Response::HTTP_INTERNAL_SERVER_ERROR); } } }
| ver. 1.4 |
.
| PHP 8.1.32 | Generation time: 0 |
proxy
|
phpinfo
|
Settings